package supershop.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import supershop.dto.ProductDTO;
import supershop.model.Product;

public interface IProductDao {

	/**查询所有商品
	 * @param dto 分页和条件参数
	 * @return 商品列表
	 */
	List<Product> findAll(ProductDTO dto);
	
	/**推荐商品
	 * @param id 商品编号
	 * @param today 是表示推荐，否表示取消推荐
	 * @return 1表示操作成功
	 */
	int recommend(@Param("id")int id,@Param("today")String today);
	
	/**上架/下架
	 * @param id 商品编号
	 * @param isPutOnSale 是表示上架，否表示下架
	 * @return 1表示操作成功
	 */
	int isPutOn(int id,String isPutOnSale);
	
	/**修改商品主图片
	 * @param id 商品编号
	 * @param url 新图片地址
	 * @return 1表示修改成功
	 */
	int updateUrl(int id,String url);
	
	/**删除商品
	 * @param id 商品编号
	 * @return 1表示删除成功
	 */
	int del(int id);
	
	/**更新商品
	 * @param p 新的商品信息
	 * @return 1表示修改成功
	 */
	int edit(Product p);
	
	/**添加商品
	 * @param p 新增商品信息
	 * @return 1表示添加成功
	 */
	int add(Product p);
	
	
	/**求总记录数
	 * @param dto 查询条件
	 * @return 总记录数
	 */
	int getCount(ProductDTO dto);
	
	/**查询今日必抢商品
	 * @return 今日必抢商品列表
	 */
	List<Product> findToday();
	
	/**查询商品详情
	 * @param id
	 * @return
	 */
	public Product findById(int id);
	
}
